#!/bin/bash

# 批量下载ext文件脚本
# 用法: ./download_exts.sh <file_list.txt>
# 或者直接编辑脚本中的文件列表

# 如果提供了参数文件，使用参数文件，否则使用内置列表
if [ $# -eq 1 ] && [ -f "$1" ]; then
    file_list="$1"
else
    # 默认下载本地config.json中引用的所有ext文件
    file_list="local_ext_files.txt"
    # 如果不存在，则创建
    if [ ! -f "$file_list" ]; then
        cat > "$file_list" << 'EOF'
007.js
360.js
555.js
SC1080.js
TVB云播.js
bzys.js
caigou.js
czspp.js
ddys.js
iqiyi.js
jianpian.js
libvio.js
mgtv.js
nongmin.js
qq.js
saohuo.js
xsj.js
youku.js
南瓜.js
大师兄影视.js
奇优.js
奇珍异兽.js
爱看.js
电影先生.js
百忙无果.js
腾云驾雾.js
荐片.js
EOF
    fi
fi

echo "开始下载ext文件..."

while IFS= read -r file; do
  # 跳过空行
  [ -z "$file" ] && continue

  # 构造网络URL (优先尝试js目录，然后尝试hccx目录)
  url_js="https://raw.liucn.cc/box/libs/js/${file}"
  url_hccx="https://raw.liucn.cc/box/libs/hccx/${file%.*}.json"

  # 本地路径
  local_path="exts/${file}"

  echo "下载 ${file}..."

  # 先尝试js目录
  if curl -s "$url_js" -o "$local_path" && [ -s "$local_path" ]; then
    echo "✓ 成功下载 ${file} (从js目录)"
  # 如果失败，尝试hccx目录
  elif curl -s "$url_hccx" -o "$local_path" && [ -s "$local_path" ]; then
    echo "✓ 成功下载 ${file} (从hccx目录)"
  else
    echo "✗ 下载失败 ${file}"
  fi
done < "$file_list"

echo "下载完成！"